//项目地址一致（功能地址不一致）
//请求参数都不一样（参数传递方式大致一样,请求类型get,post）
//接收结果（对应结果操作）都不一样（返回结果的数据格式json,内容结构（状态，提示，业务数据））

// 登录：成功，失败（失败提示信息）
// 推荐（用户习惯）商品列表：成功（业务数据（商品列表）） 失败（具体原因：未登录）
// 注册：成功，失败（失败提示信息）
// 下单：成功，失败（提示信息），订单详情
// 业务返回： 业务处理状态（成功，失败），失败提示信息，成功（业务数据）
// view object

var baseUrl = "http://localhost:8080/catering-system-operate";

function httpGetWithParams(businessUrl, params, callback) {
    var url = baseUrl + businessUrl;
    //http请求
    $.ajax({
        type: "GET",
        url: url,
        data: params,
        success: function (resp) {
            //http 获得结果
            console.log("===resp===");
            console.log(resp);
            //统一业务处理流程
            handlerResp(resp, callback);
        }
    });
}

function httpGet(businessUrl, callback) {
    console.log("httpGet");
    var url = baseUrl + businessUrl;
    //无参数
    $.ajax({
        type: "GET",
        url: url,
        success: function (resp) {
            //http 获得结果
            console.log("===resp===");
            console.log(resp);
            //统一业务处理流程
            handlerResp(resp, callback);
        }
    });
}

function httpPostWithParams(businessUrl, params, callback) {
    var url = baseUrl + businessUrl;

    //有参
    $.ajax({
        type: "POST",
        url: url,
        data: params,
        success: function (resp) {
            //http 获得结果
            console.log("===resp===");
            console.log(resp);
            //统一业务处理流程
            handlerResp(resp, callback);
        }
    });
}

function httpPost(businessUrl, callback) {
    var url = baseUrl + businessUrl;

    //无参数
    $.ajax({
        type: "POST",
        url: url,
        success: function (resp) {
            //http 获得结果
            console.log("===resp===");
            console.log(resp);
            //统一业务处理流程
            handlerResp(resp, callback);
        }
    });
}

/**
 * 返回结果处理
 * @param resp 后台返回结果json
 * @param callback 具体业务处理函数
 */
function handlerResp(resp, callback) {
    //json 装换为js对象
    var result = JSON.parse(resp);
    console.log(result);
    //业务状态码判断
    if (result != null) {
        //业务处理成功
        //let data = result.data;
        //具体业务处理 登录：跳转首页，商品列表：渲染列表
        callback(result);
    } else {
        //业务处理失败
        alert(result.msg);
    }
}



